package org.xlx.xlx_oa.reimburse.convertor;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import org.xlx.xlx_oa.common.BaseConvertor;
import org.xlx.xlx_oa.reimburse.domain.Reimburse;
import org.xlx.xlx_oa.reimburse.domain.ReimburseImage;
import org.xlx.xlx_oa.reimburse.domain.ReimburseItem;
import org.xlx.xlx_oa.reimburse.domain.dto.ReimburseDto;
import org.xlx.xlx_oa.reimburse.domain.dto.ReimburseImageDto;
import org.xlx.xlx_oa.reimburse.domain.dto.ReimburseItemDto;
import org.xlx.xlx_oa.reimburse.domain.vo.ReimburseImageVo;
import org.xlx.xlx_oa.reimburse.domain.vo.ReimburseItemVo;
import org.xlx.xlx_oa.reimburse.domain.vo.ReimburseVo;

import java.util.List;

@Mapper
public interface ReimburseConvertor extends BaseConvertor {
    ReimburseConvertor INSTANCE = Mappers.getMapper(ReimburseConvertor.class);

    Reimburse convertVoToDomain(ReimburseVo reimburseVo);

    ReimburseDto convertToDomainDto(Reimburse reimburse);

    List<ReimburseDto> convertToDomainDtoList(List<Reimburse> list);

    ReimburseImage convertVoToImage(ReimburseImageVo imageVo);

    ReimburseImageDto convertToImageDto(ReimburseImage image);

    List<ReimburseImageDto> convertToImageDtoList(List<ReimburseImage> images);

    ReimburseItem convertVoToItem(ReimburseItemVo itemVo);

    ReimburseItemDto convertToItemDto(ReimburseItem item);

    List<ReimburseItemDto> convertToItemDtoList(List<ReimburseItem> list);

    List<ReimburseItem> convertVoToListItem(List<ReimburseItemVo> list);


}
